package protect.week09;

/**
 * @author thinkpad - 83start
 * @version v1.0
 * @create 2022/10/26 21:51
 * @package protect.week09
 * @description 2129. 将标题首字母大写
 * 给你一个字符串 title ，它由单个空格连接一个或多个单词组成，每个单词都只包含英文字母。请你按以下规则将每个单词的首字母 大写 ：
 *
 * 如果单词的长度为 1 或者 2 ，所有字母变成小写。
 * 否则，将单词首字母大写，剩余字母变成小写。
 * 请你返回 大写后 的 title 。
 *
 *  
 *
 * 示例 1：
 *
 * 输入：title = "capiTalIze tHe titLe"
 * 输出："Capitalize The Title"
 * 解释：
 * 由于所有单词的长度都至少为 3 ，将每个单词首字母大写，剩余字母变为小写。
 * 示例 2：
 *
 * 输入：title = "First leTTeR of EACH Word"
 * 输出："First Letter of Each Word"
 * 解释：
 * 单词 "of" 长度为 2 ，所以它保持完全小写。
 * 其他单词长度都至少为 3 ，所以其他单词首字母大写，剩余字母小写。
 * 示例 3：
 *
 * 输入：title = "i lOve leetcode"
 * 输出："i Love Leetcode"
 * 解释：
 * 单词 "i" 长度为 1 ，所以它保留小写。
 * 其他单词长度都至少为 3 ，所以其他单词首字母大写，剩余字母小写。
 *  
 *
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode.cn/problems/capitalize-the-title
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */

public class Ch03_CapitalizeTitle {
    public static String capitalizeTitle(String title) {
        String[] s = title.split(" ");

        for (int i = 0; i < s.length; i++) {
            if (s[i].length() < 3){
                s[i] = s[i].toLowerCase();
            }else {
                s[i] = s[i].substring(0,1).toUpperCase() + s[i].substring(1).toLowerCase();
            }
        }

        String tmp = "";
        for (int i = 0; i < s.length; i++) {
            tmp += s[i] + " ";
        }

        return tmp.substring(0,tmp.length() -1);
    }

    public static void main(String[] args) {
        System.out.println(capitalizeTitle("sj kj a jsfdFva fsdfsdafsd fsdafsd"));
    }



}
